<?php
class PessoaJuridicaDAO{
	
	private static  $instanciaUnica;
	private $conexao;
	
	private function __construct(){
		$this->conexao = Conexao::getConexao();
	}

	public static function getInstancia(){
		if (!isset(self::$instanciaUnica))
		self::$instanciaUnica = new PessoaJuridicaDAO();
		return self::$instanciaUnica;
	}

	public function listaPj(){
		$lista	=	Array();
		$rs		=	new QueryMySql();
		$rs->setQuery("Select * From tbl_pessoajuridica");
		while ($rs->getrow()){
			$pj = new PessoaJuridica();
			$pj->setCodPj($rs->field("codPj"));
			$pj->setCnpj($rs->field("cnpj"));
			$pj->setRazaoSocial($rs->field("razaoSocial"));
			$pj->setCodPessoa($rs->field("codPessoa"));
			$lista[] = $pj;
		}
		return $lista;
	}

	public function insertPj(PessoaJuridica $pj){
		$sql 		= new UpdateSQL();
		$sql->setTable("tbl_pessoajuridica");
		$sql->addField("cnpj", $pj->getCnpj(),"String");
		$sql->addField("razaoSocial", $pj->getRazaoSocial(),"String");
		$sql->addField("codPessoa", $pj->getCodPessoa(),"Number");
		$sql->setAction("INSERT");
		return $this->conexao->execute($sql->getSQL());
	}

	public function updatePf(PessoaJuridica $pj){
		$sql 		= new UpdateSQL();
		$sql->setTable("tbl_pessoajuridica");
		$sql->setKey("codPj", $pj->getCodPj(),"Number");
		$sql->addField("cnpj", $pj->getCnpj(),"String");
		$sql->addField("razaoSocial", $pj->getRazaoSocial(),"String");
		$sql->addField("codPessoa", $pj->getCodPessoa(),"Number");
		$sql->setAction("UPDATE");
		return $this->conexao->execute($sql->getSQL());
	}

	public function deletePf(PessoaJuridica $pj){
		//$instituicao = new Instituicao();
		$sql = new UpdateSQL();
		$sql->setTable("tbl_pessoajuridica");
		$sql->setKey("codPj", $pj->getCodPj(), "Number");
		$sql->setAction("DELETE");
		return $this->conexao->executeUpdate($sql->getSQL());
	}
}
?>